
import Request from 'luch-request' // 使用npm
import { useUserStore } from '@/stores'

export const http = new Request({
	//配置基地址
	baseURL:'https://consult-api.itheima.net',
	//配置超时时间
	timeout:30000
})

//请求拦截器
http.interceptors.request.use((config)=>{
	//配置请求头
	const store=useUserStore()
	const token=store.user.token
	if(token){
		config.header.Authorization=`Bearer ${token}`
	}
return config
},
(error)=>{
	return Promise.reject(error)
}
)
//响应拦截器
http.interceptors.response.use((res)=>{
	if(res.data.code!==10000){
		uni.showToast({
			title:res.data.message,
			icon:'error',
			mask:true
		})
	}
		return res.data
	
},(error)=>{
	//处理401错误
	if(error.data.code===401){
		const store=useUserStore()
		//清除token
		store.clearUserStore()
		// 跳转登录页面
		reLogin()
		return Promise.reject(error)
	}
	return Promise.reject(error)
})


const tabbarList=[
	'pages/index/index',
	'pages/wiki/inex',
	'pages/notify/index',
	'pages/my/index'
]
export const reLogin=()=>{
	//获取页面栈
	const pages=getCurrentPages()
	console.log(pages);
	//获取当前页面
	const currentPage=pages.at(-1)
	//获取完整跳转地址
	const fullPath=currentPage.$page.fullPath
	//判断跳转方式是小程序还是普通页面
	const openType=tabbarList.includes(currentPage.route)?'switchTab':'redirectTo'
	const store=useUserStore()
	//保存跳转地址和方式到仓库
	store.redireUrl=fullPath
	store.openType=openType
	//跳转登录页面
	uni.redirectTo({
		url:'/pages/login/index'
	})
}

